home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / util / gnu / groff_src.lha / Groff-1.07 / Makefile.comm < prev    next >
Makefile  |  1993-02-20  |  6KB  |  238 lines

  1. # Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc.
  2. #      Written by James Clark (jjc@jclark.com)
  3. # This file is part of groff.
  4. # groff is free software; you can redistribute it and/or modify it under
  5. # the terms of the GNU General Public License as published by the Free
  6. # Software Foundation; either version 2, or (at your option) any later
  7. # version.
  8. # groff is distributed in the hope that it will be useful, but WITHOUT ANY
  9. # WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10. # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  11. # for more details.
  12. # You should have received a copy of the GNU General Public License along
  13. # with groff; see the file COPYING.  If not, write to the Free Software
  14. # Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  15. #
  16. # Makefile.comm
  17. #
  18. SHELL=/bin/sh
  19. INCLUDES=-I. -I$(srcdir) -I../include -I$(srcdir)/../include
  20. ALL_CCFLAGS=$(INCLUDES) $(CCDEFINES) $(CCFLAGS) $(CPPFLAGS)
  21. COMPILE.cc=$(CCC) $(ALL_CCFLAGS) -c
  22. ALL_CFLAGS=$(CDEFINES) $(CFLAGS) $(CPPFLAGS)
  23. COMPILE.c=$(CC) $(ALL_CFLAGS)  -c
  24. LINK.cc=$(CCC) $(CCFLAGS) $(LDFLAGS)
  25. LINK.c=$(CC) $(CFLAGS) $(LDFLAGS)
  26. TOP=..
  27. LIBGROFF=$(TOP)/libgroff/libgroff.a
  28. LIBBIB=$(TOP)/libbib/libbib.a
  29. LIBDRIVER=$(TOP)/libdriver/libdriver.a
  30. LIBM=-lm
  31. MLIB=
  32. XLIBS=
  33. YTABH=
  34. YTABC=
  35. GRAM=
  36. LIBCLEAN=
  37. CLEANADD=
  38. MOSTLYCLEANFILES=$(MANCLEAN) $(PROG) $(OBJS) $(GENSRCS) $(GENHDRS) \
  39.   depend.temp core y.output $(CLEANADD)
  40. CLEANFILES=$(LIBCLEAN)
  41. DISTCLEANFILES=TAGS Makefile
  42. REALCLEANFILES=$(YTABC) $(YTABH)
  43. NAMEPREFIX=
  44. HDRS=
  45. MANPAGES=$(MAN1) $(MAN5) $(MAN7)
  46. MANCLEAN=$(MANPAGES)
  47. fontsubdir=$(fontdir)/dev$(DEV)
  48.  
  49. all install install_bin install_data TAGS depend distfiles uninstall_sub:
  50.  
  51. install: install_bin install_data
  52. uninstall: uninstall_sub
  53.  
  54. .PHONY: all clean distclean mostlyclean realclean extraclean depend distfiles
  55. .PHONY: install install_bin install_data
  56. .PHONY: uninstall uninstall_sub
  57.  
  58. mostlyclean:
  59.     -rm -f $(MOSTLYCLEANFILES)
  60.  
  61. clean:
  62.     -rm -f $(CLEANFILES) $(MOSTLYCLEANFILES)
  63.  
  64. distclean:
  65.     -rm -f $(DISTCLEANFILES) $(CLEANFILES) $(MOSTLYCLEANFILES)
  66.  
  67. realclean:
  68.     -rm -f $(REALCLEANFILES) $(DISTCLEANFILES) $(CLEANFILES) \
  69.       $(MOSTLYCLEANFILES)
  70.  
  71. extraclean:
  72.     -rm -f $(DISTCLEANFILES) $(CLEANFILES) $(MOSTLYCLEANFILES) \
  73.       \#* *~ =* core junk grot old temp tmp tem
  74.  
  75. .SUFFIXES:
  76. .SUFFIXES: .o .cc .c .y .man .n
  77.  
  78. .cc.o:
  79.     $(COMPILE.cc) $<
  80.  
  81. .c.o:
  82.     $(COMPILE.c) $<
  83.  
  84. .y.cc:
  85.     if test -n "$(YTABH)"; then \
  86.       $(YACC) $(YACCFLAGS) -d $<; \
  87.     else \
  88.       $(YACC) $(YACCFLAGS) $<; \
  89.     fi
  90.     mv y.tab.c $@
  91.     test -z "$(YTABH)" || mv y.tab.h $(YTABH)
  92.  
  93. .man.n:
  94.     @echo Making $@ from $<
  95.     @-rm -f $@
  96.     @sed -e "s;@FONTDIR@;$(fontdir);g" \
  97.     -e "s;@FONTPATH@;$(fontpath);g" \
  98.     -e "s;@MACRODIR@;$(tmacdir);g" \
  99.     -e "s;@MACROPATH@;$(tmacpath);g" \
  100.     -e "s;@DEVICE@;$(DEVICE);g" \
  101.     -e "s;@DEFAULT_INDEX@;$(indexdir)/$(indexname);g" \
  102.     -e "s;@DEFAULT_INDEX_NAME@;$(indexname);g" \
  103.     -e "s;@INDEX_SUFFIX@;$(indexext);g" \
  104.     -e "s;@COMMON_WORDS_FILE@;$(common_words_file);g" \
  105.     -e "s;@MAN1EXT@;$(man1ext);g" \
  106.     -e "s;@MAN5EXT@;$(man5ext);g" \
  107.     -e "s;@MAN7EXT@;$(man7ext);g" \
  108.     -e "s;@TMAC_S@;$(tmac_s);g" \
  109.     -e "s;@TMAC_M@;$(tmac_m);g" \
  110.     -e "s;@TMAC_MDIR@;$(tmacdir)/mm;g" \
  111.     -e "s;@BROKEN_SPOOLER_FLAGS@;$(BROKEN_SPOOLER_FLAGS);g" \
  112.     -e "s;@VERSION@;`cat $(srcdir)/../VERSION`;g" \
  113.     -e "s;@MDATE@;`$(SHELL) $(srcdir)/../mdate.sh $<`;g" \
  114.     -e "s;@g@;$(g);g" \
  115.     -e "s;@G@;`echo $(g) | tr [a-z] [A-Z]`;g" \
  116.     $< >$@
  117.  
  118. .PHONY: install_man
  119. install_man:
  120.     -test -d $(manroot) || mkdir $(manroot)
  121.     -test -d $(man1dir) || mkdir $(man1dir)
  122.     @-pages="$(MAN1)"; \
  123.     for p in $$pages; do \
  124.      prog=`basename $$p .n`; \
  125.      target=$(man1dir)/$(NAMEPREFIX)$$prog.$(man1ext); \
  126.      rm -f $$target; \
  127.      echo $(INSTALL_DATA) $$p $$target; \
  128.      $(INSTALL_DATA) $$p $$target; \
  129.     done
  130.     -test -d $(man5dir) || mkdir $(man5dir)
  131.     @-pages="$(MAN5)"; \
  132.     for p in $$pages; do \
  133.      target=$(man5dir)/`basename $$p .n`.$(man5ext); \
  134.      rm -f $$target; \
  135.      echo $(INSTALL_DATA) $$p $$target; \
  136.      $(INSTALL_DATA) $$p $$target; \
  137.     done
  138.     -test -d $(man7dir) || mkdir $(man7dir)
  139.     @-pages="$(MAN7)"; \
  140.     for p in $$pages; do \
  141.      target=$(man7dir)/`basename $$p .n`.$(man7ext); \
  142.      rm -f $$target; \
  143.      echo $(INSTALL_DATA) $$p $$target; \
  144.      $(INSTALL_DATA) $$p $$target; \
  145.     done
  146.  
  147. .PHONY: uninstall_man
  148. uninstall_man:
  149.     @-pages="$(MAN1)"; \
  150.     for p in $$pages; do \
  151.      target=$(man1dir)/$(NAMEPREFIX)`basename $$p .n`.$(man1ext); \
  152.      echo rm -f $$target; \
  153.      rm -f $$target; \
  154.     done
  155.     @-pages="$(MAN5)"; \
  156.     for p in $$pages; do \
  157.      target=$(man5dir)/`basename $$p .n`.$(man5ext); \
  158.      echo rm -f $$target; \
  159.      rm -f $$target; \
  160.     done
  161.     @-pages="$(MAN7)"; \
  162.     for p in $$pages; do \
  163.      target=$(man7dir)/`basename $$p .n`.$(man7ext); \
  164.      echo rm -f $$target; \
  165.      rm -f $$target; \
  166.     done
  167.  
  168. .PHONY: install_prog
  169. install_prog:
  170.     -test -d $(bindir) || mkdir $(bindir)
  171.     rm -f $(bindir)/$(NAMEPREFIX)$(PROG)
  172.     $(INSTALL_PROGRAM) $(PROG) $(bindir)/$(NAMEPREFIX)$(PROG)
  173.  
  174. .PHONY: uninstall_prog
  175. uninstall_prog:
  176.     -rm -f $(bindir)/$(NAMEPREFIX)$(PROG)    
  177.  
  178. .PHONY: install_dev
  179. install_dev:
  180.     -test -d $(datadir) || mkdir $(datadir)
  181.     -test -d $(datasubdir) || mkdir $(datasubdir)
  182.     -test -d $(fontdir) || mkdir $(fontdir)
  183.     -test -d $(fontsubdir) || mkdir $(fontsubdir)
  184.     -if test -d $(srcdir)/generate; then \
  185.       test -d $(fontsubdir)/generate || mkdir $(fontsubdir)/generate; \
  186.     fi
  187.     -for f in $(DEVFILES); do \
  188.       rm -f $(fontsubdir)/$$f; \
  189.       if test -f $$f; then \
  190.         $(INSTALL_DATA) $$f $(fontsubdir)/$$f; \
  191.       else \
  192.         $(INSTALL_DATA) $(srcdir)/$$f $(fontsubdir)/$$f; \
  193.       fi; \
  194.     done
  195.  
  196. .PHONY: uninstall_dev
  197. uninstall_dev:
  198.     -for f in $(DEVFILES); do rm -f $(fontsubdir)/$$f; done
  199.     -if test -d $(fontsubdir)/generate; then \
  200.       rmdir $(fontsubdir)/generate; \
  201.     fi
  202.     -rmdir $(fontsubdir)
  203.  
  204. .PHONY: depend_src
  205. depend_src: depend.temp
  206.     mv depend.temp Makefile.dep
  207.  
  208. depend.temp: FORCE
  209.     > depend.temp;
  210.     test -z "$(CCSRCS)$(YTABC)"  \
  211.       || $(CCC) $(ALL_CCFLAGS) -MM $(CCSRCS) $(YTABC) >>depend.temp
  212.     test -z "$(CSRCS)" \
  213.       || $(CC) $(ALL_CFLAGS) -MM $(CSRCS) >>depend.temp
  214.     if test -n "$(YTABH)"; then \
  215.       sed -e 's|$(YTABH)|$(YTABC)|g' depend.temp >depend.temp1; \
  216.       mv depend.temp1 depend.temp; \
  217.     fi
  218.  
  219. .PHONY: TAGS_src
  220. TAGS_src:
  221.     $(ETAGS) $(ETAGSFLAGS) $(CCSRCS) $(CSRCS)
  222.     test -z "$(GRAM)$(HDRS)" \
  223.       || $(ETAGS) $(ETAGSFLAGS) -a $(ETAGSCCFLAG) $(GRAM) $(HDRS)
  224.  
  225. Makefile:
  226.     -rm -f Makefile
  227.     echo srcdir=$(srcdir) >>Makefile
  228.     echo VPATH=$(VPATH) >>Makefile
  229.     cat $(MAKEFILEPARTS) /dev/null >>Makefile
  230.  
  231. FORCE:
  232.  
  233. .NOEXPORT:
  234.